Decimal to binary translators



Feb. 13, 1962 A. c. REYNOLDS, JR 3,021,065

DECIMAL TO BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheet 1 FIG. H6. 2 :76. a FIG. 4 IN I l l 7 fl 6 AND 5 {Low 0 R FIG. 6 FIG. 7

C F INV.

OUTPUT OUTPUT Y UP NORMALLY NORMALL l DOWN FIG. /0

STORE 552,25 SPALE MENTOR A. C. REYNOLDS JR. l

26 "27 BY W ATTORNEY Feb. 13, 1962 A. c. REYNOLDS, JR 3,021,065

DECIMAL TO BINARY TRANSLATORS Origin al Filed Feb. 26, 1957 18 Sheets-Sheet 4 Y m. 0E 0k R E N .J R QZ s O Y T a\ 0 7 w A v MN u E 9 3k no oh Wadi C. om op 2 owdE M E Edi wbo zoFuwdm mwkznou A. 0k V b B m m R J w w v N N W w ME; 3 wt cook w Feb. 13, 1962 c. REYNOLDS, JR 3,021,065

DECIMAL TO BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheet 5 CORRECTION IN 4 K COMPLETED I +1 an" CHECK TIME READ PULSE INVEN TOP A. C. REYNOLDS JR Feb. 13, 1962 A c. REYNOLDS, JR 3,021,065

DECIMAL T0 BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheefi 6 ATTORNEY ON OC Feb. 13, 1962 A. c. REYNOLDS, JR

DECIMAL TO BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheet 7 A TTORNE V Wl EA/T 'R A. C. REYNOLDS JR QUE 20mm Feb. 13, 1962 A. c. REYNOLDS, JR 3,021,065

DECIMAL TO BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheet 8 FIG. 2/

ATTORNEY Feb. 13, 1962 A. c. REYNOLDS, JR 3,021,065

DECIMAL TO BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheet 1O A T TORNE V Feb. 13, 1962 Original Filed Feb. 26, 1957 FIG.29

A. c. REYNOLDS, JR 3,021,065

DECIMAL TO BINARY TRANSLATORS 18 Sheets-Sheet 11 UVVE/VfOP A. c. REYNOLDS JR.

ATTORNEY Feb. 13, 1962 A. c. REYNOLDS, JR 3,021,065

DECIMAL TO BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheet 12 COUNTER SELECTION PULSES F/G- 26 BIT CCT. 77 F [9 FIG.33 G

FOUR WIRE BIT TRUNK 76 l lNl/ENTOR A. C. REYNOLDS JR.

ATTORNEY Feb. 13, 1962 c. REYNOLDS, JR 3,021,065

DECIMAL TO BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheet 1::

OUTPUT BITS EXTENTED TO F'IG.3I

A. c. REYNOLDS JR.

A TTORNEV Feb. 13, 1962 A. c. REYNOLDS, JR 3,021,065 DECIMAL TO BINARY TRANSLATORS Original Filed Feb. 26, 1957 18 Sheets-Sheet 14 INVENTO/f? B A. C REYNOLDS JR ATTOP/VEV 1962 A. c. REYNOLDS, JR ,0 ,065

DECIMAL TO BINARY TRANSLATORS 9 -w- /s/ 59 55 1o 5% F CHECK TIME 9 I -4M+-M- READ PULSE E :m:

nv l/EN TOR ,4. C. REYNOLDS JR.

A T TORNEV United States Patent DECIMAL T0 BINARY TRANSLATO .Andrew Craig Reynolds, Jr., Waterbury, Conn., assiguor This-is a division of application Serial Number 642,509, filed February 26, 1957, now Patent No. 2,969,912, for improvements in Error Detecting and Correcting Circuits.

This invention relates to means for detecting and for correcting errors in transmitted information and particularly relates to electronic translating means for changing the'coded manifestations of decimal numbers into coded manifestations of equivalent binary numbers.

An object of the invention is to provide supervisory means for examining coded items of information, each accompanied by its unique checking items, and to delay the further processing movement thereof until -a detected error can be corrected or until an alarm may be given through disabling means provided to report a non-correctable error.

The invention consists in general of a means for handling information in transit. Each item of information, which, by way of example, may be a ten digit number before entry into a processing machine, has certain check digits derived therefrom and these check digits are thereafter associated with this ten digit number and become part of the word. One group of these check digits con is an item of information. This number expressed in binary decimal notation will be The check digits may then :be formed by selecting a corresponding bit from each of the above groups of bits, say the least significant position bit of each group, thus producing the binary number which, translated into its decimal equivalent, becomes and which, expressed in the binary decimal notation (for purposes which will appear hereinafter), becomes Another unique check digit is derived by using the units digit of the sum of the digits of the said number, this being known asthe sum modulo 10 of the number. The sum of so that the digit 4 is a derived checkdigit which along with the number 0754 is associated with the said number and which accompanies the said number in its movements through the processing machine, This item of information is precalculated so that when the number and its check digits are moved about they appear as and this is expressed in the binary decimal code so that it forms a succession of fifteen four place codes which may be transmitted over-a conventional four wire bit trunk. It will be assumed that the means for successively entering and transmitting each of these codes over such a four wire bit trunk in which the bits are simultaneously moved is entirely conventional.

The invention consists of means for successively gating these fifteen digits into fifteen digit stores for processing which comprises two principal operations. First the four I check digits 0754 are translated into an equivalent binary number and this is compared with the ten digit number which has actually been stored. Let us assume that in processing and by reason of some random error, the second digit 6 has become a 7. The comparison would then be between and it will at once be apparent that there is an error in the second place.

At the same time and during the entry of the ten digits of this word, these ten digits are summed step by step and thesum of the digits of the number containing the error comes out to be 45 so that the sum modulo 10, which is 5, fails to compare with the last (fifteenth place) check digit 4.

These two check failures then immediately start a correcting operation. This consists of opening a gate to the second place digit store and the introduction thereinto of a train of correcting pulses and simultaneously therewith the introduction into the means for s urnmingthe digits of exactly the same number of pulses. This has the effect of advancing the record in the second place digit store successively through the values 8, 9, 0, 1, 2, 3, 4, 5 and .6 and simultaneously therewith of advancing the record in the summing device successively through the values 46, 47, 48, 49, 50, 51, 52, 53 and 54. When the last value 54 is reached, its units value 4 will compare exactly with the last place check digit and this will bring about a circuit change constituting a satisfaction signal which will stop further correction operations and will cause the corrected ten digit number to be transferred to a use circuit, such as an arithmetic section of a computer.

It should be noted that if no error had been detected the said ten digit item of information would have been im mediately passed along to the said use circuit.

From the above discussion, and further by way of example, it will appear that with circuits and apparatus hereinabove set forth, an error can be detected only if it appears in the 1 bit place of some one ofthe digits forming the ten digit word, for otherwise the four digit check 0754 would remain the same while only the sum modulo 10 check digit would change. Since under these conditions there would be an absence of information necessary for the operation of the proper gate to the store containing the digit in error, this will be known as a non-correctable error and can only result in an alarm.

It may also be noted that where the four digit check number shows a deviation but the sum modulo 10 check digit shows no deviation, this also constitutes a noncorrectable error for no information exists which will control the number of correction pulses which must be introduced into the store or stores containing an erroneous number. Where more than one erroneous decimal digit exists in store then a non-correctable error will be reported, for while the four digit check may lead to the discovery of the location of such multiple errors, the single digit sum modulo 10 check digit cannot report the differing magnitude of two or more errors.

While the system outlined above is particularly useful for the detection and, correction of errors occurring in the transmission of data in pulse form, e.g. transmission of a number of pulses in seriatim corresponding to the value of a digit as in the telephone dial system, it is to be understood that the present invention contemplates means for detecting and correcting errors occurring in data transmitted in any digital form.

When transmitting the representation of a digit by a number of pulses corresponding to the value of a digit, an error changing the transmitted value by more than one is far less likely than an error changing the transmitted value by one. For example, when transmitting the digit by seven pulses in seriatim, it is far less likely that more than 8 or less than 6 pulses will be received than that 8 or 6 pulses will be received, the former constituting a double error while the latter constitutes a single error. The system outlined above is quite accurate for data transmitted in pulse form. This data, of course, may be subsequently translated into the binary coded decimal form or into any other coded form. If, however, the transmission is over four parallel wires in the binary coded decimal form, for example, then the check digits would be derived from parity or redundant bits generated in any manner well known in the art. Thus, the even parity check bit for the digit 7 might be formed as follows. In the binary coded decimal form, the digit 7 is represented as 0111 and the sum of the bits is 3, or odd, and thus-a 1 is the even parity check bit. That is, 1 must be added to 3 to make the sum even. The binary check number derived from the example in this manner would thus be which binary number translates into the decimal number This number with the modulo l sum of the digits, 4, is now used in the same manner as explained above, and is transmitted as It is to be noted that, in both the above examples, two mutually exclusive characteristics of each digit have been chosen as the basis for forming the binary check number, in thefirst case the odd or even characteristic of the decimal number and in the second case the odd or even char acteristic of the sum of the bits used in the binary coded form of such decimal number. The binary check number so. formed. has been translated. into the decimal system of notation for transmission with the information carrying digits. It is to be noted further that the invention is not limited to the decimal system of notation since the binary check number can be translated into any system of notation as desired, for example, base 36 or larger for handling'both alphabetic and numeric data.

It. is further to be noted that in the first example given a single randomerror in the 1 bit place may be specifically detected and corrected when the odd or even value of a decimal digit is the characteristic used as a control. Experience with the transmission of information particularly in great digital information handling networks such as the telephone system and the digital computers has shown that the occurrence of such single random errors is extremely rare and that the occurrence of a double error is so extraordinarily rare that provision for its detection is almost never made. However, the detection and correction of an error in the 1 bit place alone will detect only 25% of the random errors for which it is believed provision should be made for it is just as likely that a random error may occur in the 2 bit, the 4 bit, or the 8 bit place as it is thatsuch an error may occur in the 1 bit place.

A feature of the invention therefore is a means for detecting and correcting a single error which may occur atrandominanyoneof the -tour places'of the binarydecimal code. Consider the digit 6 which. is expressed in the binary-decimal code as 0110. The sum of the bits is even and a random error in any one of these four place will change the sum to odd. If, by way of example, through a random error this code is transmitted as 0010, an error in the 4 bit place, the change from odd to even would change the synthesized binary number from 1 l 0 0 0 1 l l 0 0 Although this last number translates to the decimal number 0796, this translation is immaterial since it is the comparison of these two ten place binary numbers which is used to locate the error and since in the comparison circuits inequality appears in the second place (the 256 bit place) it is this digit as recorded at the distant end that must be corrected.

From a practical standpoint the code 0010 is equivalent to the decimal value 2. This changes the sum of the bits from even to odd and points out the location of an error as being in the second digital place. This will require the transmission of 4 correcting pulses to advance the register from 0010 through the value 0011 to the correct value 0110. The erroneous code 0010 which is transmitted being equal to the decimal value 2, will cause the sum of the decimal digits to be 40 instead of the proper sum 44, so that as the 4 correcting pulses are transmitted to the second place register, they also advance the modulo 10 summing device from the value 40 through the value 41 to the value 44, which gives the sum modulo 10 value of 4 and which compares exactly with the magnitude digit 4.

However, it through random error the code 0110 is sent as 0100, the value of the sum of the bits is changed from even to odd and the correction will take place by the transmission of 2 correcting pulses to advance the sec- 0nd place register from the value 0100 successively through the value 0101 to 0110. Since the code represents the decimal value 4, the sum of the digits calculated on the receipt of these codes will turn out to be 42 showing the sum modulo ten equal to 2 and since this does not compare to the digit 4 transmitted, these two correcting pulses will also run the modulo 10 summing device successively through the value 43 until it reaches the value 44 to exhibit the value 4 which compares with the magnitude check digit.

Again, let it be assumed that by random error, the'code 0110 is sent as 0111. In this case the sum of the bits has been changed from even to odd. The four digit location code reports an error in the second place and the modulo ten device reports a sum of 45 or a value 5 instead of the value 4 carried by the magnitude code.

In this case nine correction pulses will be transmitted to run the second place register from the value 0111 successively through the values 1000, 1001, 0000, 0001, 0010,

0011, 0100, 0101 until it reaches the value" 0110, the

modulo 10 summing device advancing simultaneously from the value 45, through the values 46, 47, 48, 49, 50, 51, 52, 53 until it reaches the value 54.

By thus using a summing network to derive a parity" code is odd. While this device is shown as a means fordetermining the odd or even characteristic of the sum of the bits in a four place code, it is obvious that such a device may be constructed and arranged to respond to any other code having a greater number of code places and by the use of certain simple storage means, such as a ring, 

